Client-server network configurations for gaming systems

ABSTRACT

Method and apparatus are provided wherein a plurality of gaming system clusters are positioned in a casino, wherein each cluster includes a server computing system and a plurality of client computer systems arranged in proximity to one another. A plurality of client computer systems are provided, wherein each client computing system includes a client software program, a display device and random access memory. A plurality of wagering game machine program components are used by the client software program to provide a game to a user. The server computing system includes one or more server software components and one or more data storage devices, with the server computing system in communication with the client computer systems. One or more of the wagering game machine program components are stored in the one or more data storage devices. With the one or more server software components adapted to provide gaming program components to one or more of the client computer systems. A server computing system in at least one of the gaming system clusters communicates with a server computing system in at least one other gaming system cluster.

RELATED APPLICATIONS

This application claims the priority benefit of U.S. Provisional Application Ser. No. 60/696,679 filed Jul. 5, 2005, the contents of which are incorporated herein by reference.

TECHNICAL FIELD OF THE INVENTION

The inventive subject matter relates generally to the field of gaming, and more particularly to systems and methods for arranging, interconnecting and operating gaming systems.

COPYRIGHT

A portion of the disclosure of this patent document contains material to which the claim of copyright protection is made. The copyright owner has no objection to the facsimile reproduction by any person of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office file or records, but reserves all other rights whatsoever. Copyright 2006, WMS Gaming, Inc.

BACKGROUND

Casino gaming machines are subjected to rigorous regulation in a typical gaming jurisdiction. These regulations are designed to eliminate or at the very least reduce fraud or cheating, both of the games and of the public. For example, these regulations may require that the software for a gaming machine is carefully controlled such that there is little or no possibility that it can be tampered with between the time it is burned or copied into the storage medium and the time it is fetched by a gaming machine for use in controlling the operation of the machine. For instance, regulations may require that the gaming software be copied onto the storage medium in a secure environment and brought to and installed in the target gaming machine in a secure fashion. Thus, updated gaming software may have to be written to a tamper proof read only memory device within the confines of a secure facility, and taken under lock and key to a gaming machine to be installed by authorized personnel only. Further, there is typically a mechanism or process by which gaming authorities can test to see that the software installed in a particular gaming machine has been approved by gaming regulators, and is not an unauthorized version. Thus, updating gaming software, for example, to correct a bug or to provide an enhanced, modified or new gaming experience to a user, can be burdensome.

Other problems faced in connection with gaming machine technology is the need to handle failures of software or hardware in a gaming machine. If a player has credits on a machine, and the machine fails during play, the player's credits may be “lost” in that the software registering the credits may crash or the memory storing the credit information may fail. These types of failures are to be avoided as much as possible both because of the inconvenience and losses suffered by the affected player but also due to the potential for fraudulently induced failures that may be used to steal money from a player.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 illustrates an exemplary embodiment of a gaming machine apparatus suitable for use in the inventive subject matter disclosed herein;

FIGS. 2A, 2B and 2C illustrate exemplary embodiments of a system and method according to the inventive subject matter disclosed herein; and

FIG. 3 illustrates an exemplary embodiment of a method according to the inventive subject matter described herein.

DETAILED DESCRIPTION

In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the inventive subject matter can be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention. The leading digit(s) of reference numbers appearing in the Figures generally corresponds to the Figure number in which that component is first introduced, such that the same reference number is used throughout to refer to an identical component which appears in multiple Figures. Signals and connections may be referred to by the same reference number or label, and the actual meaning will be clear from its use in the context of the description.

FIG. 1 is a perspective view of a wagering game machine, according to exemplary embodiments of the inventive subject matter disclosed herein. As shown in FIG. 1, the wagering game machine 100 can be a computerized slot machine having the controls, displays, and features of a conventional slot machine. The wagering game machine 100 can be operated while players are standing or seated. Additionally, the wagering game machine 100 is preferably mounted on a stand (not shown). However, it should be appreciated that the wagering game machine 100 can be constructed as a pub-style tabletop game (not shown), which a player can operate while sitting. Furthermore, the wagering game machine 100 can be constructed with varying cabinet and display designs. The wagering game machine 100 can incorporate any primary game such as slots, poker, or keno, and additional bonus round games. The symbols and indicia used on and in the wagering game machine 100 can take mechanical, electrical, or video form.

As illustrated in FIG. 1, the wagering game machine 100 includes a coin slot 102 and bill acceptor 124. Players can place coins in the coin slot 102 and paper money or ticket vouchers in the bill acceptor 124. Other devices can be used for accepting payment. For example, credit/debit card readers/validators can be used for accepting payment. Additionally, the wagering game machine 100 can perform electronic funds transfers and financial transfers to procure monies from financial accounts. When a player inserts money in the wagering game machine 100, a number of credits corresponding to the amount deposited are shown in a credit display 106. After depositing the appropriate amount of money, a player can begin playing the game by pushing play button 108. The play button 108 can be any play activator used for starting a wagering game or sequence of events in the wagering game machine 100.

As shown in FIG. 1, the wagering game machine 100 also includes a bet display 112 and a “bet one” button 116. The player places a bet by pushing the bet one button 116. The player can increase the bet by one credit each time the player pushes the bet one button 116. When the player pushes the bet one button 116, the number of credits shown in the credit display 106 decreases by one credit, while the number of credits shown in the bet display 112 increases by one credit.

A player may “cash out” by pressing a cash out button 118. When a player cashes out, the wagering game machine 100 dispenses a voucher or currency corresponding to the number of remaining credits. The wagering game machine 100 may employ other payout mechanisms such as credit slips (which are redeemable by a cashier) or electronically recordable cards (which track player credits), or electronic funds transfer.

The wagering game machine may also include a primary display unit 104 and a secondary display unit 110 (also known as a “top box”). The wagering game machine may also include an auxiliary video display 130. In one embodiment, the primary display unit 104 displays a plurality of video reels 120. According to embodiments of the invention, the display units 104 and 110 can include any visual representation or exhibition, including moving physical objects (e.g., mechanical reels and wheels), dynamic lighting, and video images. In one embodiment, each reel 120 includes a plurality of symbols such as bells, hearts, fruits, numbers, letters, bars or other images, which correspond to a theme associated with the wagering game machine 100. Furthermore, as shown in FIG. 1, the wagering game machine 100 includes an audio presentation unit 128. The audio presentation unit 128 can include audio speakers or other suitable sound projection devices.

Referring now to FIG. 2A, there is illustrated a block diagram of a gaming system arrangement 200 according to one embodiment of the inventive subject matter disclosed herein. A plurality of wagering game machine clusters 210 are positioned in a gaming establishment, such as a casino. Each cluster 210 includes a gaming server computing system 212 and a plurality of gaming client computing systems 214 arranged in relative proximity to one another, for example, within approximately 10 to 50 meters of one another. Each of the gaming client computing systems 214, in one embodiment, forms a part of a computing platform for a wagering game machine, such as game machine 100. About five to twenty gaming client computing systems 214 may be provided in a cluster. In one example embodiment, at least two of the gaming client computing systems 214 in a cluster may be connected directly together in a peer to peer configuration to provide a communication path 213 from one of the gaming client computing systems 214 through another gaming client computing system 214 to the gaming server computing system 212. As described in more detail below, software or data components used in a gaming client computing system 214 may be supplied from a gaming server computing system 212. Although a number or range of numbers of systems per cluster or a particular distance or range of distances between systems is described for some example embodiments, the system is not so limited, and any number of systems or any distance between systems is acceptable provided that desired performance objectives are achieved.

The gaming server computing system 212 may be in communication with the client computer systems 214, for example using any usable communications protocol, such as an IP protocol, and any suitable media, such as fiber, cable or the air using a wireless connection. In one example embodiment, fiber is used to minimize the chance of wiretapping or hacking. For convenience, however, a wireless connection with multiple levels of data security between the machines may be provided. The communication protocol may include in part high level messaging or consist essentially of high level messaging. Further, the server computing systems 212 may be arranged in a hierarchy 216, for example in three tiers, I, II and III, wherein tier I is higher in the hierarchy than II and III. Server computing systems 212 higher in the hierarchy 216 may have at least some computing capabilities that are superior to the server computing systems lower in the hierarchy, for example greater computational power, greater memory or storage capacity, or a greater number of functions. There may be, without limitation, approximately ten server computing systems 212 at the lowest level of the hierarchy. At least one backup server computing system may be provided for each cluster wherein the backup server computing system may be adapted to communicate with the gaming client computing systems 214 in the cluster to provide gaming server computing system 212 functions for the gaming client computing systems 214.

According to one embodiment, a system 212 higher in the hierarchy may operate as a backup for a system 212 lower in the hierarchy, for example during the time that a system 212 may be shut down for maintenance or for updates. In another embodiment, a server 212 in one level of the hierarchy may be used as a backup for another server 212 in the same level of the hierarchy, for instance in the event that a server 212 fails. In another embodiment, one client server 214 may serve as a backup server 212 for a server 214 at the same level of the hierarchy.

As shown in FIG. 2B in diagrammatic form, the gaming server computing system 212 may include at least one processor 212 a and operating system 212 b. The gaming server computing system 212 further includes gaming server software 212 c, and gaming software/data 212 d that can be downloaded to and used on a gaming client 214. The server software 212 c may include a math model for the probabilities of the game played on the wagering game machine, and an image management function to store and serve images used by one of the gaming client computing systems 214. The gaming server computing system 212 may also include at least one software component to authenticate one or more of the client computing systems. One or more software or hardware components may also be included on the gaming server computing system 212 and used to encrypt communications to a gaming client computing system 214.

Each gaming server 212 may also include one or more data storage devices 212 e that may be used to store all or portions of the operating system 212 b, server software 212 c and gaming software/data 212 d. The server 212 may optionally include a printer or a monitor or other peripherals. One or more software components of gaming software/data 212 d may be stored in the one or more of the data storage devices 212 e. The one or more storage devices may be magnetic storage such as a hard drive, or flash memory or any other suitable type of memory or storage. In addition, in one example embodiment, the gaming server computing system 212 is connected to another system 212 in the same tier in a peer-to-peer configuration.

As shown in FIG. 2C, each gaming client computing system 214 includes a processor 214 a, an operating system 214 b, client software program 214 c, and gaming software/data 214 d, as may be downloaded to the client 214 from a server 212. System 214 may further include one or more data storage devices 214 e, one or more display devices 214 f (such as display unit 104), a printer device 214 g (for example to produce pay out slips), and one or more other peripheral devices 214 h. Storage devices 214 e may be used to store all or portions of the operating system 214 b, client software 214 c and gaming software/data 214 d.

The client software program 214 c may be thick or thin. For example, the client software 214 c may comprise a web browser or a custom application that communicates with the server 212. The gaming client computing systems 214 may support one or more peripheral devices 214 h such as a reel display device, a coin acceptor, a bill acceptor, and a card acceptor for example as described above with respect to the wagering game machine of FIG. 1. The gaming client computing systems 214 and peripherals may be mounted in a wagering game machine cabinet such as the cabinets shown for the wagering game machines shown in FIG. 1, or may be mounted in any other fashion for access by a user. The wagering game machine cabinets may be arranged in one or more banks, for example side-by-side in a row.

The gaming software/data 214 c is used by the client program 214 d to provide a gaming experience to a user, such as a spinning reel or video poker gaming experience. Software components of software/data 214 d may include, for example, software to drive the display of a video gaming machine animated sequence or control software to operate a reel type machine, or any other software component that may be used in a wagering game machine. According to another embodiment, the same processor 214 a may be used to support two or more display devices 214 f or printer devices 214 g.

Each gaming client computing system 214 may also include a random number generator software or hardware component (not shown) that may be used to generate random numbers for the game of chance provided by the system. One or more software or hardware components 214 may also be provided on the client computing system 214 to encrypt communications to a server computing system. The gaming client computing systems 214 may share storage capacity on the one or more data storage devices on the associated gaming server computing system 212. The gaming client computing systems 214 may, in one example embodiment, not include a hard drive, but for example instead store all data in a dynamic, static, volatile or non-volatile memory.

At least one of the software components in software/data 212 d stored in the gaming server computing system 212 may comprise art work elements, audiovisual elements or sound elements that can be processed on the client computing system to create a displayed element on the display device 214 f of a client computing system 212. The art work elements, audiovisual elements or sound elements on a client computing system may be stored in a random access memory of the client computing system 212. The gaming server computing system 212 or at least one gaming client computing system 214, or both, may further include one or more software components adapted to cache a group of images likely to be used by a game executing on the client computing system, wherein the images, sound or graphics can be accessed without a latency detrimental to the enjoyment of the game by a player. One or more of the gaming client computing systems 214 may be adapted to present or display images in response to commands from the gaming server computing system 212, and input from a player may be sent to the gaming server computing system 212 to be processed to determine output to be displayed on the client computing system. Images downloaded from a gaming server computing system 212 to a gaming client computing system 214 may be compressed when sent from the system 212 and decompressed at the gaming client computing system 214, to make efficient use of bandwidth. In another embodiment, downloading of gaming software may be accomplished using peer-to-peer communication between client computing systems 214.

Gaming software 212 d executing on the gaming client computing systems 214 may track a credit balance for a player, and further the gaming server computing system 212 may include one or more software components to track credit balances for games running on gaming client computing systems 214 served by the server computer 212. At least one gaming client computing system 214 may include at least one software element to recognize a player credit entered into the hosted game and to send a communication to the gaming server computing system 212 indicating the recognized player credit. The gaming server computing system 212 includes one or more software components adapted to acknowledge a communication from a client computing system indicating a player credit has been received. In addition, in one example embodiment, at least one gaming client computing system 214 may include a non-volatile random access memory component, and the gaming client computing system 214 may include at least one software element to record at least one player credit in the memory component. One or more software components on a gaming server computing system 212 may be used to determine a credit balance in the event of the failure of a gaming client computing system 214 or gaming server computing system 212. Still further, the gaming client computing system 214 may include one or more software elements adapted to cause the rejection of a coin or bill if the server computing system does not acknowledge the receipt of a player credit communicated from the gaming client computing system 214.

Further, one or more software components on a gaming server computing system 212 may be adapted to switch support for gaming client computing systems 214 to an alternate or backup gaming server computing system 212 to permit at least one upgrade procedure to be run on the gaming server computing system 212. At least one software component on one or both of the server computing systems 212 and at least one gaming client computing system 214 may be provided to cause a current version of at least one component of software 212 d of the client computing system to be installed on the at least one gaming client computing system 214.

Referring now to FIG. 3, there is illustrated one embodiment of a method 300 according the inventive subject matter hereof. Method 300 provides for arranging 310 a plurality of gaming systems in clusters positioned in a gaming establishment, wherein each cluster includes a server computing system and a plurality of client computer systems arranged in proximity to one another. Wagering game software components are stored 312 in one or more storage devices on a gaming server computing system (for example server 212) and provided 314 to a gaming client computing system (for example client 214) and stored in one or more data storage devices on the gaming client. A plurality of wagering game machine program components are used 316 by the client software program to provide a gaming experience to a user. Further, optionally, a gaming server computing system in one cluster may communicate with a gaming server computing system in at least one other gaming system cluster.

The method may further include, in alternate embodiments, storing a math model in one or more of the server software components, arranging the wagering game machine cabinets in one or more banks, arranging about five to twenty client computing systems in a cluster, sharing storage capacity on the one or more data storage devices on the server computing system with the client computing systems, serving art work for a game from a server computing system to a client computing system, using one or more standardized peripheral devices to form a client computer system, or the server computing system authenticating one or more of the client computing systems it serves or is connected to.

Other alternate embodiments of the methods include the games running on the client computing systems tracking a credit balance for a player, and further optionally also tracking the credit balance on one or more server computing systems. Another alternate method provides for establishing a credit balance in the event of the failure of a client computing system or server computing system, for example by restoring the credit balance from a non-volatile memory in a client computing system or a server computing system. A client computing system may recognize a player credit entered into the hosted game and to send a communication to the server computing system indicating the recognized player credit, and the server computing system acknowledging a communication from a client computing system indicating a player credit has been received. Further, a method may include the client computing system rejecting a coin or bill or credit slip if the server computing system does not acknowledge the receipt of a player credit communicated from the client computing system.

According to still another example embodiment, the client computing systems may communicate with a server computing system directly, or may communicate with a server computing system through a peer client computing system. Further, a first server computing system may communicate with a second server computing system in a server computing system hierarchy. In one example embodiment, the second server computing system serves as a backup for the first server computing system, so that the second server computing system can be used to support the client computing systems connected to and primarily supported to the first server computing system. According to one example embodiment, the server computing systems higher in the hierarchy have at least some computing capabilities that are superior to the server computing systems lower in the hierarchy.

In this description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. Note that in this description, references to “one embodiment” or “an embodiment” mean that the feature being referred to is included in at least one embodiment of the invention. Further, separate references to “one embodiment” in this description do not necessarily refer to the same embodiment; however, neither are such embodiments mutually exclusive, unless so stated and except as will be readily apparent to those of ordinary skill in the art. Thus, the present invention can include any variety of combinations and/or integrations of the embodiments described herein. Each claim, as may be amended, constitutes an embodiment of the invention, incorporated by reference into the detailed description. Moreover, in this description, the phrase “exemplary embodiment” means that the embodiment being referred to serves as an example or illustration.

Further, block diagrams illustrate exemplary embodiments of the invention. Also herein, flow diagrams illustrate operations of the exemplary embodiments of the invention. The operations of the flow diagrams are described with reference to the exemplary embodiments shown in the block diagrams. However, it should be understood that the operations of the flow diagrams could be performed by embodiments of the invention other than those discussed with reference to the block diagrams, and embodiments discussed with references to the block diagrams could perform operations different than those discussed with reference to the flow diagrams. Additionally, some embodiments may not perform all the operations shown in a flow diagram. Moreover, it should be understood that although the flow diagrams depict serial operations, certain embodiments could perform certain of those operations in parallel. 

1. A method, comprising: positioning a plurality of gaming system clusters in a casino, wherein each cluster includes: a server computing system; a plurality of client computer systems arranged in proximity to one another, wherein each client computing system includes a client software program, a display device and random access memory; a plurality of wagering game machine program components used by the client software program to provide a game to a user; the server computing system including one or more server software components and one or more data storage devices, the server computing system in communication with the client computer systems; one or more of the wagering game machine program components stored in the one or more data storage devices; the one or more server software components adapted to provide gaming program components to one or more of the client computer systems; and a server computing system in at least one of the gaming system clusters communicating with a server computing system in at least one other gaming system cluster.
 2. A method according to claim 1 further wherein one or more of the server software components include a math model for the probabilities of the game.
 3. A method according to claim 1 wherein the client computing systems are mounted in a wagering game machine cabinet.
 4. (canceled)
 5. (canceled)
 6. (canceled)
 7. A method according to claim 1 wherein the client computing share storage capacity on the one or more data storage devices on the server computing system.
 8. (canceled)
 9. A method according to claim 1 further wherein at least one of the components stored in the server computing system comprises art work elements displayed on the display device of a client computing system.
 10. (canceled)
 11. (canceled)
 12. (canceled)
 13. A method according to claim 1 further wherein the server computing system includes an image management function to store and serve images used by the client computing system.
 14. A method according to claim 1 further wherein the server computing system includes at least one software component to authenticate one or more of the client computing systems.
 15. (canceled)
 16. A method according to claim 1 further wherein games running on the client computing systems have credit balances, and further wherein the client computing system includes one or more software components to track the credit balances.
 17. (canceled)
 18. A method according to claim 1 further wherein the method includes one or more software components to establish a credit balance in the event of the failure of a client computing system or server computing system.
 19. (canceled)
 20. A method according to claim 1 further wherein at least one client computing system includes at least one software element to recognize a player credit entered into the hosted game and to send a communication to the server computing system indicating the recognized player credit.
 21. (canceled)
 22. (canceled)
 23. A method according to claim 1 further including a further server computing system adapted to communicate with the server computing system for each of the clusters.
 24. A method according to claim 1 further including a coin dispenser adapted to deliver coins to at least two of the client computing systems to provide coin payouts to players.
 25. A method according to claim 1 further wherein at least one server computing system is connected to at least one client computing system over at least one fiber optic data transmission element.
 26. A method according to claim 1 further including at least two of the client computing systems in a cluster connected directly together to provide a communication path from one of the client computing systems through another client computing system to the server computing system.
 27. A method according to claims 1 further including at least one backup server computing system for each cluster wherein the backup server computing system is adapted to communicate with the client computing systems in the cluster to provide server computing system functions for the client computing systems.
 28. A method according to claim 1 further including a hierarchy of server computing systems.
 29. (canceled)
 30. (canceled)
 31. A method according to claim 1 further wherein each client computing system includes a random number generator component used to generate random numbers for a game of chance.
 32. (canceled)
 33. A method according to claim 1 wherein the server computing system or at least one client computing system, or both, include one or more software components adapted to cache a group of images likely to be used by a game executing on the client computing system, wherein the images can be accessed without a latency detrimental to the enjoyment of the game by a player.
 34. (canceled)
 35. (canceled)
 36. (canceled)
 37. A method according to claim 1 further wherein one or more of the client computing systems are adapted to serve images in response to commands from the server computing system, and further wherein input from a player is sent to the server computing system to be processed to determine output to be displayed on the client computing system.
 38. (canceled)
 39. (canceled)
 40. (canceled)
 41. (canceled)
 42. (canceled)
 43. (canceled)
 44. Gaming apparatus, comprising: a plurality of gaming system clusters positioned in a casino, wherein each cluster includes: a server computing system; a plurality of client computer systems arranged in proximity to one another, wherein each client computing system includes a client software program, a display device and random access memory; a plurality of wagering game machine program components used by the client software program to provide a game to a user; the server computing system including one or more server software components and one or more data storage devices, the server computing system in communication with the client computer systems; one or more of the wagering game machine program components stored in the one or more data storage devices; the one or more server software components adapted to provide gaming program components to one or more of the client computer systems; and a server computing system in at least one of the gaming system clusters communicating with a server computing system in at least one other gaming system cluster. 